package com.example.demo.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class EsPmWorkCardVO {

    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    
    private String workOrderNo;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long vesselId;
    
    private String vesselCode;
    
    private String vesselNameCn;
    
    private String vesselNameEn;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long devVesselCodeId;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long devInfoId;
    
    private String devNameCn;
    
    private String devNameEn;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long devJobId;
    
    private String jobName;
    
    private String jobContent;
    
    private Date earlyDate;
    
    private Date planDate;
    
    private Date lateDate;
    
    private Date arrangeDate;
    
    private String workCardType;
    
    private String triggerCondition;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long periodId;
    
    private Integer timerJobPeriod;
    
    private String timerJobPeriodUnit;
    
    private Integer timerJobSpanLeft;
    
    private Integer timerJobSpanRight;

    
    private Integer regularJobPeriod;

    
    private String regularJobPeriodUnit;

    
    private Integer regularJobSpanLeft;

    
    private Integer regularJobSpanRight;

    
    private Integer specifiedDate;

    
    private String surveyCode;

    
    private Boolean surveyFlag;

    
    private Boolean importantFlag;

    
    private Boolean riskFlag;

    
    private Boolean fileFlag;

    
    private Boolean preMeetingFlag;

    
    private Boolean permitFlag;

    
    private Date lastDoneDate;

    
    private Date lastDoneCounter;

    
    private Integer timerValue;


    @JsonSerialize(using = ToStringSerializer.class)
    private Long deptId;


    @JsonSerialize(using = ToStringSerializer.class)
    private Long postId;

    
    private String chargePostNameCn;
    
    private String chargePostNameEn;

    
    private Boolean shoreFlag;

     // 状态字段
    private String workCardStatus;

    
    private String completeStatus;

    
    private String completeContent;

    
    private Date completedDate;

    
    private String maintStaff;

    
    private Boolean alertFlag;

    
    private String alertRemark;

    
    private String vesselApprovePerson;

    
    private Date vesselApproveDate;

    
    private String vesselApproveRemark;

    
    private String shoreApprovePerson;

    
    private Date shoreApproveDate;

    
    private String shoreApproveRemark;

    
    private String devCode;

    
    private Boolean replanFlag;

    
    private Boolean safetyFlag;

    
    private Boolean keyFlag;

    
    private String operFlag;
}